package com.sc.nft.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.sc.nft.dto.IdRequest;
import com.sc.nft.dto.MallGoodsLabelItemDTO;
import com.sc.nft.dto.MallGoodsLabelSaveGoodsDTO;
import com.sc.nft.entity.dto.MallGoodsLabelDTO;
import com.sc.nft.entity.dto.MallGoodsLabelPageDTO;
import com.sc.nft.entity.vo.MallGoodsLabelItemPageVO;
import com.sc.nft.entity.vo.MallGoodsLabelPageVO;
import com.sc.nft.entity.vo.MallGoodsLabelVO;

import java.util.List;

public interface MallGoodsLabelService {
    /**
     * 创建标签
     * @param goodsLabelDTO
     */
    void create(MallGoodsLabelDTO goodsLabelDTO);

    /**
     * 编辑
     * @param goodsLabelDTO
     */
    void update(MallGoodsLabelDTO goodsLabelDTO);

    /**
     * 开启
     * @param id
     */
    void enable(Long id);

    /**
     * 关闭
     * @param id
     */
    void disable(Long id);

    /**
     * 详情
     * @param idRequest
     * @return
     */
    MallGoodsLabelVO details(IdRequest idRequest);

    /**
     * 列表
     * @param mallGoodsLabelPageDTO
     * @return
     */
    IPage<MallGoodsLabelPageVO> page(MallGoodsLabelPageDTO mallGoodsLabelPageDTO);

    /**
     * 删除
     * @param id
     */
    void remove(Long id);

    /**
     * 关联商品id
     * @param mallLabelId
     * @return
     */
    List<MallGoodsLabelItemPageVO> goodsPage(Long mallLabelId);

    /**
     * 保存关联商品
     * @return
     */
    void saveGoods(MallGoodsLabelSaveGoodsDTO saveGoodsDTO);
}
